/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package qlvbdq.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import qlvbdq.dconnection.SQLServerConnect;
import qlvbdq.dto.CTPhieuDichVuDTO;

/**
 *
 * @author tuan
 */
public class CTPhieuDichVuDAO {

    public CTPhieuDichVuDAO() {
    }
    
    public ArrayList<CTPhieuDichVuDTO> getCTPhieuDVByMaPhieuDV(String MaPDV) throws SQLException {
        ArrayList<CTPhieuDichVuDTO> listCTPDV = new ArrayList<>();
        Object[] objs = { MaPDV };
        CTPhieuDichVuDTO ctPhieuDV = new CTPhieuDichVuDTO();
        ResultSet rs = SQLServerConnect.getInstance().getDataFromStore("GetCTPhieuDichVuByMaPhieuFromDatabase( ? )", objs);
        while (rs.next()) {
            ctPhieuDV.setMaDichVu(rs.getString("MADICHVU"));
            ctPhieuDV.setMaPDV(rs.getString("MAPHIEUDV"));
            ctPhieuDV.setSoLuong(rs.getInt("SOLUONG"));
            ctPhieuDV.setThanhTien(rs.getLong("THANHTIEN"));
            listCTPDV.add(ctPhieuDV);
        }
        return listCTPDV;
    }
    
    public ArrayList<CTPhieuDichVuDTO> getCTPhieuDVByMaPhieuAndMaDichVu(String MaPDV, String MaDV) throws SQLException {
        ArrayList<CTPhieuDichVuDTO> listCTPDV = new ArrayList<>();
        Object[] objs = { MaPDV, MaDV };
        CTPhieuDichVuDTO ctPhieuDV = new CTPhieuDichVuDTO();
        ResultSet rs = SQLServerConnect.getInstance().getDataFromStore("GetCTPhieuDichVuByMaDVFromDatabase( ?, ? )", objs);
        while (rs.next()) {
            ctPhieuDV.setMaDichVu(rs.getString("MADICHVU"));
            ctPhieuDV.setMaPDV(rs.getString("MAPHIEUDV"));
            ctPhieuDV.setSoLuong(rs.getInt("SOLUONG"));
            ctPhieuDV.setThanhTien(rs.getLong("THANHTIEN"));
            listCTPDV.add(ctPhieuDV);
        }
        return listCTPDV;
    }
    
    public int insertCTPhieuDV(CTPhieuDichVuDTO ctPhieuDV) {
        Object[] objs = { ctPhieuDV.getMaDichVu(), ctPhieuDV.getMaDichVu(), ctPhieuDV.getSoLuong(), ctPhieuDV.getThanhTien() };
        return SQLServerConnect.getInstance().updateDataToDatabase("InsertServiceBillDetailFromDatabase(?, ?, ?, ?)", objs);
    }
    
   //xoa toan bo chi tiet cua PhieuDV do
    public int deleteCTPhieuDVByMaPhieu(CTPhieuDichVuDTO ctPhieuDV) {
        Object[] objs = { ctPhieuDV.getMaDichVu() };
        return SQLServerConnect.getInstance().updateDataToDatabase("DeleteCTPhieuDVByMaPhieuDVToDatabase(?)", objs);
    }
    
    //delete 1 CT
    public int deleteCTPhieuDVByMaPhieuMaDV(CTPhieuDichVuDTO ctPhieuDV) {
        Object[] objs = { ctPhieuDV.getMaDichVu(), ctPhieuDV.getMaDichVu() };
        return SQLServerConnect.getInstance().updateDataToDatabase("DeleteCTPhieuDVByMaPhieuMaDVDVToDatabase(?, ?)", objs);
    }
}
